#ifndef REPORT_CONFIG_H
#define REPORT_CONFIG_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "esp_system.h"
#include "esp_idf_version.h"
#include "esp_mac.h"


#include "../LOG.h" 
#include "../app_config.h"
#include "../Product_Config.h"
#include "../lwip/tcp.h"

#include "../my_driver/uart_driver.h"

#include "../mode_Config/mode_brighness_config.h"
#include "../mode_Config/mode_status_handle.h"
#include "../mode_Config/mode_scene_config.h"
#include "../mode_Config/mode_light_effect_config.h"
#include "../mode_Config/mode_micro_config.h"


#define SIZE 1024

extern u16 send_num;
extern u8 buffer[SIZE];

void set_rec_message(u8 *buf);
u32 get_rec_message();
u32 get_message();
void ACK_report();
void send_register_package();
void OTA_report();
void heart_beat_handle(); // 心跳包
void custom_save_report(); // 自定义保存上报
void change_main_mode_handle(u32 code,u8 num); // 主模式变换上报
void change_RGB_brighness_handle(u32 code,u8 num); // 灯光亮度变换上报
void change_scene_mode_handle(u32 code,u8 num); // 场景模式子模式变换上报
void change_scene_senet_handle(u32 code,u8 num);// 场景模式子模式灵敏度上报
void change_custom_ssp_handle(u32 code,u8 num); // 自定义模式自模式上报
void change_custom_part_handle(u32 code,PART_INFO_T part_info); // 自定义模式 预览分段长度及内容
void change_custom_wait_handle(u32 code,u8 num); // 自定义模式 预览 等待时间
void change_light_effect_ssp_handle(u32 code,u8 num); // 自定义模式 效果模式
void change_micro_senst_handle(u32 code,u8 num); // 麦克风灵敏度
void change_spectral_mode_handle(u32 code,u8 num); // 麦克风子模式
void change_part_info_handle(u32 code,PART_INFO_T part_info);// 分段模式
void change_light_direction_handle(u32 code,u8 num); //方向改变上报


#endif